package com.pe.rimac;

import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TabHost;
import android.widget.TabHost.TabSpec;

import com.pe.rimac.util.RSTextWatcher;

public class DanhosActivity extends BaseActivity {

	@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.vs_danhos);
        
        cargarTabs();
        
        cargarListaDanhos();
        
        llenarFormulario();
        
        cargarListeners();
    }
	
	private void cargarListeners() {
		
		final CheckBox sinDanhosCheckBox = (CheckBox) findViewById(R.id.chkSinDanhos);
		sinDanhosCheckBox.setOnCheckedChangeListener(this);
		
		final EditText danhosEditText = (EditText) findViewById(R.id.txtDanhosProducto);
		danhosEditText.addTextChangedListener(new RSTextWatcher(danhosEditText, siniestro));
		
		final CheckBox entregoOrdenCheckBox = (CheckBox) findViewById(R.id.chkEntregoOrden);
		entregoOrdenCheckBox.setOnCheckedChangeListener(this);
		
		final Spinner entregoOrdenSpinner = (Spinner) findViewById(R.id.cmbMotivoNoEntrega);
		entregoOrdenSpinner.setOnItemSelectedListener(this);
		
		final CheckBox danhosPreExistenteCheckBox = (CheckBox) findViewById(R.id.chkDanhosPreExistente);
		danhosPreExistenteCheckBox.setOnCheckedChangeListener(this);
		
		final EditText danhosPreExistenteEditText = (EditText) findViewById(R.id.txtDanhosPreExistente);//TODO
		danhosPreExistenteEditText.addTextChangedListener(new RSTextWatcher(danhosPreExistenteEditText, siniestro));
	}
	
	private void cargarListaDanhos() {		
		//cargarMotivos();//Corregir
	}
	
	//FIXME corregir motivos
	private void cargarMotivos()
	{
		cargarSpinner(R.id.cmbMotivoNoEntrega, "", "", "");
	}
	
	private void cargarTabs() {
		
		//TabHost tabHost = getTabHost();
		TabHost tabHost = (TabHost) findViewById(R.id.tabHostDanhosPrincipal);
		tabHost.setup(getLocalActivityManager());
		
		TabSpec datos1Spec = tabHost.newTabSpec("Datos 1");
		datos1Spec.setIndicator("Datos 1");
        //Intent datos1Intent = new Intent(this, DanhosDatos1Activity.class);
        datos1Spec.setContent(R.id.include_dato1);
        
        TabSpec datos2Spec = tabHost.newTabSpec("Datos 2");
		datos2Spec.setIndicator("Datos 2");
        //Intent datos2Intent = new Intent(this, DanhosDatos2Activity.class);
        datos2Spec.setContent(R.id.include_dato2);
        
        TabSpec graficoSpec = tabHost.newTabSpec("Grafico");
        graficoSpec.setIndicator("Grafico");
        //Intent graficoIntent = new Intent(this, DanhosGraficoActivity.class);
        graficoSpec.setContent(R.id.include_grafico);
        
        tabHost.addTab(datos1Spec);
        tabHost.addTab(datos2Spec);
        tabHost.addTab(graficoSpec);
	}
	
	private void llenarFormulario() {
		flagChekBox(R.id.chkSinDanhos, siniestro.getDanho().isDanhos());
		setTextEditText(R.id.txtDanhosProducto, siniestro.getDanho().getDanhosProducidos());
		flagChekBox(R.id.chkEntregoOrden, siniestro.getDanho().isOrdenCompra());
		flagChekBox(R.id.chkDanhosPreExistente, siniestro.getDanho().isDanhosPreExitente());
		setTextEditText(R.id.txtDanhosPreExistente, siniestro.getDanho().getDanhosPreExitenteProducidos());
	}

	@Override
	public void onItemSelected(AdapterView<?> parent, View view, int pos,
			long id) {
		/*SQLiteCursor item = (SQLiteCursor)parent.getItemAtPosition(pos);
		if(parent.getId() == R.id.spnMotivoNoEntrega)
		{
			
		}*/
	}

	@Override
	public void onNothingSelected(AdapterView<?> parent) {
		
	}

	@Override
	public void onClick(View v) {
		
	}
	
	@Override
	public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
		if(buttonView.getId() == R.id.chkSinDanhos)
		{
			siniestro.getDanho().setDanhos(getFlagCheckBox((CheckBox)buttonView));
		}
		else if(buttonView.getId() == R.id.chkEntregoOrden)
		{
			siniestro.getDanho().setOrdenCompra(getFlagCheckBox((CheckBox)buttonView));
		}
		else if(buttonView.getId() == R.id.chkDanhosPreExistente)
		{
			siniestro.getDanho().setDanhosPreExitente(getFlagCheckBox((CheckBox)buttonView));
		}
	}
	
}
